//
//  MoviTiendas.h
//  ProyectoMoviTiendas
//
//  Created by Daniel Paez on 3/6/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Cliente.h"

@interface MoviTiendas : NSObject <NSCoding>
{
    @private
    /**
    Representa a un cliente en la aplicación.
     */
    Cliente * cliente;
    
    /**
    Representa los barrios de la aplicación
    */
    NSMutableArray * barrios;
    
    /**
     Representa los productos de la aplicación
     */
    NSMutableArray * productos;
    
}

@property(nonatomic, retain) Cliente * cliente;
@property(nonatomic, readwrite) NSMutableArray * barrios;
@property(nonatomic, retain) NSMutableArray * productos;

/*!
 @method Retorna la instancia singleton de la clase.
 @return Instancia singleton de la clase MoviTiendas.
 */
+(MoviTiendas *)darInstancia;
+ (void) initConInstancia: (MoviTiendas *) movi;

- (BOOL) crearClienteConNombre: (NSString *) nombre
                  conDireccion: (NSString *) dir1
                     conBarrio: (NSString *) barrio;

- (BOOL) modificarClienteConNombre: (NSString *) nombre
                      conDireccion: (NSString *) dir1
                         conBarrio: (NSString *) barrio;

- (NSMutableArray *) darProductosDeTiendas: (NSMutableArray *) nTiendas;

- (NSMutableArray *) darItemsDeTienda: (Tienda *) nTienda;

- (NSMutableArray *) darItemsDeTiendas: (NSMutableArray *) nTiendas;


- (BOOL) existe: (Producto *) nProducto
       enTienda: (Tienda *) nTienda;

- (Barrio *) buscarBarrio: (NSString *) nombreBarrio;

+(NSMutableArray *) darProductosConSoloItems: (NSMutableArray *) items;

@end
